From: Keir Fraser Date: Tue, 8 Jan 2008 09:43:44 +0000 (+0000) Subject: Handle netdev secondary addresses and labels X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14445^2~73^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=83501deecf218877bc0aa745180686ddc9c2159c;p=xen.git Handle netdev secondary addresses and labels Fix the network-bridge logic to correctly transfer secondary IP address from $netdev to $bridge. e.g. if you add an secondary address/label/alias with: $> ip addr add 172.31.0.200/24 dev eth0 label eth0:00 then, "ip addr show dev eth0" gives e.g.: inet 172.31.0.10/24 brd 172.31.0.255 scope global eth0 inet 172.31.0.200/24 scope global secondary eth0:00 and transfer_addrs() tries to execute: ip addr add 172.31.0.10/24 brd 172.31.0.255 scope global dev tmpbridge ip addr add 172.31.0.200/24 scope global secondary dev tmpbridge:00 which causes the sript to fail because: 1) The device tmpbridge:00 doesn't exist 2) The "secondary" flag isn't valid This patch fixes the sed commands to instead give: ip addr add 172.31.0.10/24 brd 172.31.0.255 scope global dev tmpbridge label tmpbridge ip addr add 172.31.0.200/24 scope global dev tmpbridge label tmpbridge:00 Signed-off-by: Mark McLoughlin --- diff --git a/tools/examples/network-bridge b/tools/examples/network-bridge index d558b9f552..9244f0a75c 100755 --- a/tools/examples/network-bridge +++ b/tools/examples/network-bridge @@ -121,7 +121,8 @@ transfer_addrs () { ip addr show dev ${src} | egrep '^ *inet ' | sed -e " s/inet/ip addr add/ s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@ -s/${src}/dev ${dst}/ +s/${src}/dev ${dst} label ${dst}/ +s/secondary// " | sh -e # Remove automatic routes on destination device ip route list | sed -ne "